<template>
  <el-card shadow="never" class="aui-card--fill">
    <div class="mod-sys__role">
      <el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
        <el-form-item>
          <el-input size="mini" v-model="dataForm.roleName" :placeholder="$t('role.name')" clearable></el-input>
        </el-form-item>
		<el-form-item>
		  <el-input size="mini" v-model="dataForm.memo" :placeholder="$t('role.remark')" clearable></el-input>
		</el-form-item>
		
		<el-form-item>
		  <el-select size="mini" v-model="dataForm.dataScope" clearable  placeholder="数据范围" >
		      <el-option :key="1":label="$t('role.dataScope1')":value="1"> </el-option>
			  <el-option :key="2":label="$t('role.dataScope2')":value="2"> </el-option>
			  <el-option :key="3":label="$t('role.dataScope3')":value="3"> </el-option>
			  <el-option :key="4":label="$t('role.dataScope4')":value="4"> </el-option>
		    </el-select>
		</el-form-item>
		
        <el-form-item>
          <el-button size="mini" @click="getDataList()">{{ $t('query') }}</el-button>
        </el-form-item>
        <el-form-item>
          <el-button size="mini" v-if="$hasPermission('role:complexAdd')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
        </el-form-item>
       <!-- <el-form-item>
          <el-button v-if="$hasPermission('role:del')" type="danger" @click="delHandle()">{{ $t('deleteBatch') }}</el-button>
        </el-form-item> -->
      </el-form>
      <el-table
        v-loading="dataListLoading"
        :data="dataList"
        border
        @selection-change="dataListSelectionChangeHandle"
        @sort-change="dataListSortChangeHandle"
        style="width: 100%;">
        <el-table-column type="selection" header-align="center" align="center" width="50"></el-table-column>
        <el-table-column prop="roleName" :label="$t('role.name')" header-align="center" align="center"></el-table-column>
		<el-table-column prop="proleName" :label="$t('role.proleName')" header-align="center" align="center"></el-table-column>
        <el-table-column prop="memo" :label="$t('role.remark')" header-align="center" align="center" :show-overflow-tooltip="true"></el-table-column>
		<el-table-column prop="dataScope" :label="$t('role.dataScope')" header-align="center" align="center">
		  <template slot-scope="scope">
		    <el-tag v-if="scope.row.dataScope === 1" size="small">{{ $t('role.dataScope1') }}</el-tag>
			 <el-tag type="success" v-if="scope.row.dataScope === 2" size="small">{{ $t('role.dataScope2') }}</el-tag>
			  <el-tag type="warning" v-if="scope.row.dataScope === 3" size="small">{{ $t('role.dataScope3') }}</el-tag>
			  <el-tag type="info" v-if="scope.row.dataScope === 4" size="small">{{ $t('role.dataScope4') }}</el-tag>
		  </template>
		</el-table-column>
        <el-table-column prop="createTime" :label="$t('role.createDate')"  header-align="center" align="center" width="180"></el-table-column>
		<el-table-column prop="updateTime" :label="$t('updateTime')"  header-align="center" align="center" width="180"></el-table-column>
        <el-table-column :label="$t('handle')" fixed="right" header-align="center" align="center" width="150">
          <template slot-scope="scope" v-if="scope.row.id !== 1">
            <el-button v-if="$hasPermission('role:modify')" type="text" size="small" @click="addOrUpdateHandle(scope.row.id)">{{ $t('update') }}</el-button>
            <el-button v-if="$hasPermission('role:del')" type="text" size="small" @click="delHandle(scope.row.id)">{{ $t('delete') }}</el-button>
          </template>
        </el-table-column>
      </el-table>
      <el-pagination
        :current-page="pageNo"
        :page-sizes="[10, 20, 50, 100]"
        :page-size="pageSize"
        :total="total"
        layout="total, sizes, prev, pager, next, jumper"
        @size-change="pageSizeChangeHandle"
        @current-change="pageCurrentChangeHandle">
      </el-pagination>
      <!-- 弹窗, 新增 / 修改 -->
      <add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
    </div>
  </el-card>
</template>

<script>
import mixinViewModule from '@/mixins/view-module'
import AddOrUpdate from './role-add-or-update'
export default {
  mixins: [mixinViewModule],
  data () {
    return {
      mixinViewModuleOptions: {
        getDataListURL: '/pc/role/list',
        getDataListIsPage: true,
        deleteURL: '/pc/role/del',
        deleteIsBatch: false
      },
      dataForm: {
        roleName: '',
		memo: '',
		dataScope: null
      }
    }
  },
  components: {
    AddOrUpdate
  }
}
</script>
